﻿Imports System.Data.SqlClient

Public Class frmPresupuesto
    Private Empresas As New DataTable("Nombre")
    Private Conceptos As New DataTable("Nombre")
    Private CadenasAutocompletado As New AutoCompleteStringCollection
    Private CadenasAutocompletado2 As New AutoCompleteStringCollection
    Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click
        Close()

    End Sub

    Private Sub frmPresupuesto_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        Empresas.PrimaryKey = Nothing
        Conceptos.PrimaryKey = Nothing
        Empresas.Clear()
        Empresas.Columns.Clear()
        Conceptos.Clear()
        Conceptos.Columns.Clear()
    End Sub

    Private Sub frmPresupuesto_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ToolStrip2.Cursor = Cursors.Hand
        ToolStrip2.RenderMode = System.Windows.Forms.ToolStripRenderMode.System
        ToolStrip2.Stretch = True

        CargaEmpresas()
        Dim claves(0) As DataColumn
        claves(0) = Empresas.Columns("Nombre")
        Empresas.PrimaryKey = claves

        For Each Codigo In Empresas.Rows
            CadenasAutocompletado.Add(Codigo("Nombre"))
        Next

        CargaTipos()
        Dim Llaves(0) As DataColumn
        Llaves(0) = Conceptos.Columns("Nombre")
        'NombresProductos.PrimaryKey = Llaves

        For Each Nombre In Conceptos.Rows
            CadenasAutocompletado2.Add(Nombre("Nombre"))
        Next

        CargaPresupuestos()
    End Sub
    Sub CargaEmpresas()
        Empresas.Columns.Add("Nombre")

        Dim cnConn As New SqlConnection
        cnConn.ConnectionString = CitraConnection

        Dim strSql As String = ""
        strSql = "Select cValorCL01"
        strSql = strSql & " From MGW10020 WHERE CIDCLASI01=8"
        strSql = strSql & " order by cValorCL01"

        Dim cmdBuscar As New SqlCommand
        cmdBuscar.Connection = cnConn
        cmdBuscar.CommandText = strSql
        Dim rdBuscar As SqlDataReader
        cnConn.Open()
        rdBuscar = cmdBuscar.ExecuteReader
        Do While rdBuscar.Read()
            Empresas.Rows.Add(rdBuscar("cValorCL01").ToString.Trim)
        Loop

    End Sub
    Sub CargaTipos()
        Conceptos.Columns.Add("Nombre")

        Dim cnConn As New SqlConnection
        cnConn.ConnectionString = CitraConnection

        Dim strSql As String = ""
        strSql = "Select cNombreC01"
        strSql = strSql & " From MGW10006 WHERE cidconce01 in(3005,3006,3007,3008,3009)"
        strSql = strSql & " order by cNombreC01"

        Dim cmdBuscar As New SqlCommand
        cmdBuscar.Connection = cnConn
        cmdBuscar.CommandText = strSql
        Dim rdBuscar As SqlDataReader
        cnConn.Open()
        rdBuscar = cmdBuscar.ExecuteReader
        Do While rdBuscar.Read()
            Conceptos.Rows.Add(rdBuscar("cNombreC01").ToString.Trim)
        Loop

    End Sub
    Private Sub ControlEdicion1(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs) Handles dgPresupuestos.EditingControlShowing
        If dgPresupuestos.CurrentCell.ColumnIndex = 0 Then
            DirectCast(e.Control, TextBox).AutoCompleteMode = AutoCompleteMode.SuggestAppend
            DirectCast(e.Control, TextBox).AutoCompleteSource = AutoCompleteSource.CustomSource
            DirectCast(e.Control, TextBox).AutoCompleteCustomSource = CadenasAutocompletado
        ElseIf dgPresupuestos.CurrentCell.ColumnIndex = 1 Then
            DirectCast(e.Control, TextBox).AutoCompleteMode = AutoCompleteMode.SuggestAppend
            DirectCast(e.Control, TextBox).AutoCompleteSource = AutoCompleteSource.CustomSource
            DirectCast(e.Control, TextBox).AutoCompleteCustomSource = CadenasAutocompletado2
        Else

            DirectCast(e.Control, TextBox).AutoCompleteMode = Nothing
        End If
    End Sub
    Private Sub ToolStripButton9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton9.Click
        If dgPresupuestos.Rows.Count = 0 Then
            MsgBox("No hay registros para guardar", MsgBoxStyle.Information, "Aviso")
            Exit Sub

        End If

        Dim Pre As New clsPresupuesto

        Try
            For i = 0 To dgPresupuestos.Rows.Count - 1
                Pre.Empresa = dgPresupuestos.Rows(i).Cells(0).Value
                Pre.Tipo = dgPresupuestos.Rows(i).Cells(1).Value
                Pre.Anio = dgPresupuestos.Rows(i).Cells(2).Value
                Pre.Enero = dgPresupuestos.Rows(i).Cells(3).Value
                Pre.Febrero = dgPresupuestos.Rows(i).Cells(4).Value
                Pre.Marzo = dgPresupuestos.Rows(i).Cells(5).Value
                Pre.Abril = dgPresupuestos.Rows(i).Cells(6).Value
                Pre.Mayo = dgPresupuestos.Rows(i).Cells(7).Value
                Pre.Junio = dgPresupuestos.Rows(i).Cells(8).Value
                Pre.Julio = dgPresupuestos.Rows(i).Cells(9).Value
                Pre.Agosto = dgPresupuestos.Rows(i).Cells(10).Value
                Pre.Septiembre = dgPresupuestos.Rows(i).Cells(11).Value
                Pre.Octubre = dgPresupuestos.Rows(i).Cells(12).Value
                Pre.Noviembre = dgPresupuestos.Rows(i).Cells(13).Value
                Pre.Diciembre = dgPresupuestos.Rows(i).Cells(14).Value
                Call SetSqlCitra("DELETE FROM Presupuesto WHERE EMPRESA='" & Pre.Empresa & "' AND TIPO='" & Pre.Tipo & "' AND ANIO=" & Pre.Anio)
                Pre.Insertar()
            Next
        Catch ex As Exception

        End Try

        Close()


    End Sub
    Sub CargaPresupuestos()
        dgPresupuestos.Rows.Clear()

        Dim cnConn As New SqlConnection
        cnConn.ConnectionString = CitraConnection

        Dim strSql As String = "SELECT * FROM Presupuesto WHERE ANIO=" & Now.Year & " ORDER BY IdPresupuesto"


        Dim cmdBuscar As New SqlCommand
        cmdBuscar.Connection = cnConn
        cmdBuscar.CommandText = strSql
        Dim rdBuscar As SqlDataReader
        cnConn.Open()
        rdBuscar = cmdBuscar.ExecuteReader
        Do While rdBuscar.Read()
            dgPresupuestos.Rows.Add(rdBuscar("Empresa"), rdBuscar("Tipo"), rdBuscar("Anio"), rdBuscar("Enero"), rdBuscar("Febrero"), rdBuscar("Marzo"), rdBuscar("Abril"), rdBuscar("Mayo"), rdBuscar("Junio"), rdBuscar("Julio"), rdBuscar("Agosto"), rdBuscar("Septiembre"), rdBuscar("Octubre"), rdBuscar("Noviembre"), rdBuscar("Diciembre"))
        Loop

        For i = 3 To 14
            dgPresupuestos.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
            dgPresupuestos.Columns(i).DefaultCellStyle.Format = "##,##0.00"
        Next

    End Sub
End Class